package com.ant.backstage.utils.validation;

import org.springframework.util.StringUtils;

import java.util.regex.Pattern;

/**
 * @Author zhangyu
 * @Description  
 * @Date 18:06 2021/12/27
 * @Param  自定义校验参数工具类
 * @return 
 **/
public class CustomerValidationUtils {
    
    private static final Pattern REGULAR_PHONE= Pattern.compile( "^1[345678]\\d{9}$");
    private static final Pattern REGULAR_PWD= Pattern.compile( "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
    /**
     * 验证手机号
     */
    public static boolean checkPhone(String iphone){
        if (StringUtils.isEmpty(iphone)) {
            return false;
        } else {
            return REGULAR_PHONE.matcher(iphone).matches();
        }
    }
    /**
     * @Author zhangyu
     * @Description  
     * @Date 18:15 2021/12/27
     * @Param 密码校验 规则：
     * 常用规则:
     *  1. 至少8个字符，至少1个大写字母，1个小写字母和1个数字,不能包含特殊字符（非数字字母）
     *      ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
     *  2. 至少8个字符，至少1个字母，1个数字和1个特殊字符
     *      ^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
     *  3. 至少8个字符，至少1个大写字母，1个小写字母，1个数字和1个特殊字符
     *      ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}
     **/
    public static boolean checkPwd(String pwd){
        if (StringUtils.isEmpty(pwd)) {
            return false;
        } else {
            return REGULAR_PWD.matcher(pwd).matches();
        }
    }


}



